07 理论课-基础智能体开发原理与 LangChain 实现逻辑

基础智能体开发原理与 LangChain 实现逻辑

关联:索引

AI 工具使用:架构图/流程图/方案点评提示词模板(学生可直接复制)

使用方法:把你们的“需求描述/工具清单/架构草图文字版”粘贴到 {你的内容} 处;要求 AI 用“表格/清单/对照”输出,便于直接改。

模板 1:LangChain 基础智能体架构图生成(Mermaid)

你是AI智能体架构师。请基于我的课程主题“基础智能体开发原理与LangChain实现逻辑”,生成:
1) 一个 Mermaid flowchart 架构图,清晰展示:用户输入 -> 感知(解析/识别) -> 决策(意图匹配/工具选择) -> 执行(工具调用) -> 反馈;
2) 一份组件说明清单(每条不超过20字),并标注它属于 LangChain 的哪一类组件(LLM/Agent/Tool/Memory);

输出要求(硬约束):
- 先输出<<<MERMAID>>>...<<<END_MERMAID>>>,只包含 Mermaid 代码;
- 再输出<<<COMPONENTS>>>...<<<END_COMPONENTS>>>,用表格:组件 | 归属(LLM/Agent/Tool/Memory) | 职责短句;
- 不要输出长段解释文字。

我的材料:{你的内容}

模板 2:分拣意图识别与工具调用流程图生成(Mermaid)

你是分拣场景智能体的流程设计师。请基于以下需求,输出一个 Mermaid flowchart 流程图:

必须包含的节点:
- 指令解析(抽取:物品/数量/目的地/优先级/约束)
- 意图匹配(分拣/查询/确认/澄清/拒绝注入)
- 工具选择(按意图与缺失信息选择工具)
- 工具调用与结果检查(成功/失败/超时)
- 反馈生成(向用户返回结果或澄清问题)

必须包含的分支:
- 缺信息:进入“澄清提问”分支,并列出要问的字段
- 意图冲突:进入“二次确认”分支
- 注入干扰(要求改规则/输出Markdown/解释):进入“忽略干扰并继续抽取”分支
- 工具失败:进入“降级策略/人工接管/重试”分支

输出要求:
- 只输出<<<MERMAID>>>...<<<END_MERMAID>>>,不要输出解释文字。

需求材料:{你的内容}

模板 3:工具清单与参数契约表生成(便于落地)

你是智能体落地工程师。下面给你一个分拣场景描述与若干工具想法。请输出一个“工具清单与参数契约表”(Markdown表格):
列:工具名 | 触发意图 | 输入参数(字段名:类型) | 输出(字段名:类型) | 失败返回与错误码 | 备注(边界/权限/副作用/审计)

要求:
- 工具名要像API(动词+对象),例如:parse_sorting_instruction、match_sorting_rules;
- 参数必须尽量可校验(枚举/必填/可选要说清楚);
- 输出与失败返回建议携带 request_id/trace_id,便于回放与追责;
- 至少输出5个工具,其中必须包含:指令解析、规则匹配、结果下发/执行、状态查询、澄清问题生成。

材料:{你的内容}

模板 4:架构方案可落地性点评(改动点可执行)

你是课堂项目的技术评审。下面给你一份“分拣智能体架构方案”(文字版)。请输出:
1) 一个问题清单(按严重度排序):缺了什么/不清楚什么/落地会卡在哪里;
2) 一份最小改动建议:每条建议都要能“直接替换成方案中的一句话或一段话”;
3) 一个最小回归验证清单:列出5条必须通过的场景(包含缺信息、意图冲突、注入干扰、工具失败)。

输出要求:
- 只输出三段:<<<ISSUES>>>...<<<END_ISSUES>>>、<<<PATCHES>>>...<<<END_PATCHES>>>、<<<CHECKLIST>>>...<<<END_CHECKLIST>>>。

我的方案:{你的内容}

填写说明(学生可按顺序完成):

工作表 0:概念对齐速记卡(三段式 -> LangChain/LangGraph)

概念 一句话定义 在分拣智能体里的例子
感知(Perception) 把输入变成结构化信息与缺失项 解析指令,抽取物品/数量/目的地/优先级/约束
决策(Decision) 选择下一步动作(路由) 判断要下发/查询/澄清/二次确认/拒绝注入
执行(Action) 调用工具并检查返回 调用规则匹配与任务下发;失败则重试或降级
LLM 语言理解与生成能力提供者 生成澄清问题/解释失败原因(但不越权执行)
Prompt 组织输入与约束输出的“题面” 强制输出 JSON;缺信息必须追问
Chain 固定线性流程的可复用封装 解析→校验→规则匹配→生成下发参数
Agent 规划与路由器 决定调用哪个工具、先后顺序与停止条件
Tool 可调用的业务能力接口 parse_instruction / match_rules / dispatch_task / query_status
Memory 上下文存储与复用 记住已确认的目的地/澄清结果,避免重复提问
LangGraph State 流程中需要传递/更新的数据 slots、intent、tool_result、errors、need_clarify
LangGraph 节点/边 节点是步骤,边是转移规则 缺信息→澄清边;工具失败→降级边;成功→终止边

工作表 1:智能体需求规格卡(每组必填)

项目 内容
场景一句话定义
输入边界
输出形式
主要意图集合
关键业务规则
失败兜底策略

填写示例(可仿照,直接替换业务词即可):

项目 内容
场景一句话定义 将“分拣口语指令”转为可执行的分拣任务,并在缺信息/冲突/失败时给出可操作反馈
输入边界 仅处理用户指令文本;忽略“要求改规则/要解释/要输出Markdown”等干扰;不接触敏感信息与真实系统密钥
输出形式 工具调用序列 + 结果摘要(成功:任务已下发;失败:原因+下一步)
主要意图集合 分拣下发/规则查询/状态查询/澄清提问/拒绝注入
关键业务规则 优先级映射;目的地缺省策略;约束词归一化(冷藏/易碎/禁压/禁混放);冲突时必须二次确认
失败兜底策略 缺信息先澄清;工具失败重试一次后降级为人工接管;意图冲突必须确认;注入干扰忽略并继续抽取

工作表 2:LangChain 组件对齐表(概念到职责)

| :-------- | :--------------------------------- | :----------------- | :----- | :----- | :----- |
| 感知/解析模块 |
|
|
|
|
|
| 决策/路由模块 |
|
|
|
|
|
| 工具集合 |
|
|
|
|
|
| 记忆模块 |
|
|
|
|
|
| 反馈生成模块 |
|
|
|
|
|

工作表 3:意图识别与工具调用流程(含兜底)

步骤 条件/触发 处理动作 调用工具 成功判定 失败兜底
S1 指令解析




S2 意图匹配




S3 工具调用




S4 结果检查




S5 反馈生成




工作表 4:作业可交付物对齐表(提交前自检)

| :----- | :----- | :--------------------------------- | :-------------------- |
| 架构图 |
| 组件标注清楚;数据流完整;含失败兜底分支 | 只画框不写输入输出;没有兜底;组件概念混乱 |
| 200字说明 |
| 讲清意图识别逻辑与工具调用顺序;描述一个缺信息/冲突/失败的处理方式 | 写成概念介绍;没有流程;缺少兜底 |


  1. 引导问题:为什么“会聊天”不等于“会办事”?——因为缺少可执行的工具调用与可验证的输入输出。

智能体 = 让模型从“文本生成”升级为“任务完成”的系统结构:

  1. 感知(Perception):理解用户输入,抽取关键信息,识别意图与缺失字段。
  2. 决策(Decision):选择下一步动作(调用哪个工具/是否澄清/是否拒绝)。
  3. 执行(Action):调用工具完成动作,并检查返回结果,决定是否继续或结束。

知识点补充(可讲可不讲):

把“系统结构”落到“可实现的组件”(概念区分与对比见 02,本课只保留落地口径):

常见误区(点名纠偏):

知识点补充(可讲可不讲):

分组任务(每组产出 1 张“文字版架构图”):

AI 协同(可选):

快速问答:

把分拣需求翻译成智能体需求:

  1. 分拣指令识别:从口语提取物品、数量、目的地、优先级、约束。
  2. 分拣规则匹配:把口语映射到规则(优先级枚举、约束归一化、缺省策略)。
  3. 结果反馈:成功时给出“已下发/预计完成/下一步”,失败时给出“原因+需要补充的信息”。
  1. 指令解析:抽取槽位,标记缺失项。
  2. 意图匹配:判定是“下发分拣/查询/澄清/拒绝注入/确认”之一。
  3. 工具调用:根据意图选择工具,并确保参数可校验。
  4. 结果检查:工具失败则重试或降级;信息不足则澄清;冲突则二次确认。
  5. 反馈生成:把“动作结果”翻译成用户可理解的短反馈。

知识点补充(可讲可不讲):

AI 协同(可选):

说明:LangGraph 的概念、定位与差异在 02 已讲,这里只做“把工作表 3 变成图”的落地映射,便于学生理解为什么“图式流程”更适合有分支/回路/兜底的智能体。

把工作表 3 映射为三件事:

  1. State(要在流程里传递/更新的数据):
  1. 节点(每一步对应一个节点):
  1. 边(条件与回路就是边):
stateDiagram-v2
    [*] --> Parse
    Parse --> Classify
    Classify --> Validate
    Validate --> Clarify: 缺信息
    Clarify --> Parse
    Validate --> CallTool: 信息齐全
    CallTool --> Check
    Check --> Retry: 工具失败(可重试)
    Retry --> CallTool
    Check --> Handoff: 工具失败(不可重试/超阈值)
    Check --> Feedback: 成功
    Handoff --> Feedback
    Feedback --> [*]

课后作业(不提交)

提交方式:个人提交 1 个 PDF 文件(推荐由 Markdown 导出);如导出困难,可提交同名 Markdown。

提交文件名(按此命名,便于批改):班级-姓名-基础智能体.pdf(或 .md

提交内容(缺一不可,按下列结构排版):

A. 架构图(必做)

B. 200 字左右说明(必做)

C. 加分项(可选)